查询拼接SQL语句,多条件模糊查询

您所在的位置:网站首页 sql 多个模糊查询 查询拼接SQL语句,多条件模糊查询

查询拼接SQL语句,多条件模糊查询

2024-07-13 21:48| 来源: 网络整理| 查看: 265

多条件查询,使用StringBuilder拼接SQL语句,效果如下:

 

当点击按钮时代码如下:

 

private void button1_Click(object sender, EventArgs e) {   //假设表名:Books   //列名:BooksName(图书名称) Author(作者) Press(出版社)   //多条件查询,要根据用户输入的内容来动态拼接SQL语句   //1.假设如果用户没有输入就查询所有信息   StringBuilder builder = new StringBuilder("select * from Books ");   //在wheres集合中保存所有查询的SQL语句   List wheres = new List();   //把参数也放到集合中   List sqlParameters = new List();   //2.如果用户输入了条件,则根据用户输入的条件动态拼接SQL语句   if (txtBookName.Text.Trim().Length>0)   {     //builder.Append(" BooksName like @btName");     wheres.Add(" BooksName like @btName");     sqlParameters.Add(new SqlParameter("@btName", SqlDbType.NVarChar, 100){ Value="%"+ txtBookName.Text.Trim()+"%" });   }   if (txtAuthor.Text.Trim().Length>0)   {     //builder.Append(" Author like @Author");     wheres.Add(" Author like @Author");     sqlParameters.Add(new SqlParameter("@Author", SqlDbType.NVarChar, 100) { Value = "%" + txtAuthor.Text.Trim() + "%" });   }   if (txtPress.Text.Trim().Length>0)   {     //builder.Append(" Press like @Press");     wheres.Add(" Press like @Press");     sqlParameters.Add(new SqlParameter("@Press", SqlDbType.NVarChar, 100) { Value = "%" + txtPress.Text.Trim() + "%" });   }   //拼接SQL语句   //如果wheres中的集合当中的数据大于0,证明用户输入了条件   if (wheres.Count>0)   {     builder.Append(" where ");//只要有查询条件就拼接一个where条件     builder.Append(string.Join(" and ", wheres));//然后把后面的条件拼接起来   }   SqlParameter[] parameters = sqlParameters.ToArray();   MessageBox.Show(builder.ToString());   //SqlHelper.ExecuteReader(builder.ToString(),parameters); }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3